namespace metroioc.tests.Artefacts
{
    class OverloadedTestClass
    {
        private readonly IFirst _first;
        private readonly ISecond _second;
        private readonly IThird _third;

        public OverloadedTestClass()
            : this(null, null, null) { }

        public OverloadedTestClass(IFirst first)
            : this(first, null, null) { }

        public OverloadedTestClass(IFirst first, ISecond second)
            : this(first, second, null) { }

        public OverloadedTestClass(IFirst first, ISecond second, IThird third)
        {
            _first = first;
            _second = second;
            _third = third;
        }

        public IFirst First { get { return _first; } }

        public ISecond Second { get { return _second; } }

        public IThird Third { get { return _third; } }
    }
}